1. Field of the Invention
The present invention relates to computing systems for enterprises and, more specifically, to disaster recovery systems and techniques for reconfigurable, virtualized processing systems.
2. Discussion of Related Art
In a conventional computer network disaster recovery system, storage facility x is located at a first location, and storage facility y is located at a second location, typically remote from the first location. Facility x may be considered a primary site (i.e., production site) and facility y may be considered as a secondary or fail-over site (i.e., disaster recovery site). Each facility has an identical copy of the data of interest. Any desired updates of data at the primary site are also sent to the secondary site. In this fashion, the primary and secondary facilities maintain identical copies of data.
If a disaster were to happen at the primary site (e.g., a hurricane), computer operations are typically relocated or fail-over to the secondary site. The secondary site has a host computer waiting to handle such fail-over requests and is pre-configured with the necessary applications (e.g., those that exist on the primary host). The secondary site, including its host, may then handle the enterprise's computer operations that were handled by the primary site. When the primary site recovers, the operations may switch back to the primary site if desired.
In a typical multi-tiered application topology, a firewall acts as an interface to the Internet, for example, to receive various requests therefrom. The firewall communicates with a load balancer, which attempts to distribute the processing load among a multiplicity of processing nodes. For example, the load balancer may distribute requests among a multiplicity of web servers a . . . n. Each web server, in turn, may perform some analysis of the task it receives and invokes an appropriate application server a . . . n. Each application server may in turn interact with a database or file server a . . . n. Each of the various entities may be executing on its own respective processing or server node.
Modern multi-tiered application topologies may become very complicated. Adding to the complication are the various hubs, switches, cabling, and the like necessary to create the processing network. Moreover, various versions of software may be executing.
To date, a considerable body of expertise has been developed in addressing disaster recovery with specific emphasis on replicating the data. Processor-side issues have not received adequate attention.
To date, processor-side aspects of disaster recovery have largely been handled by requiring processing resources on the secondary site to be identical to those of the first site and to wait in standby mode. This is complicated and costly, as suggested by the complexity of the multi-tiered architecture. Moreover, modern processor networks are often changed for a variety of reasons. If such a network is a primary site network, then the changes also need to be made to the secondary site, or else the enterprise risks that its disaster recovery system will not work as expected.
Accordingly, there remains a need for an efficient and cost-effective method of managing enterprise computer systems in preparation for hardware and/or software failures.